// ----- 引入组件
import * as parts from './parts/index.js';
import * as tool from './tool/index.js';
import * as filters from './filters/index.js'
// ----- 定义 components 变量
const components = parts;

// ----- vue 为编写插件提供了一个 install(Vue, Option) 方法，该方法为 vue 添加全局功能；
// 该方法有两个参数，第一个是 Vue构造器，第二个是可选的参数；
const install = function (Vue, Option) {
    // ----- 使用 vue 的全局方法 Vue.component(Name, Object) 定义组件，第一个参数是组件名，第二参数是组件对象
    Vue.prototype.$oc={}
    Object.keys(components).forEach((key) => {
        Vue.component(components[key].name, components[key]);
    });
    Object.entries(tool).forEach(([method,fn]) => {
        Vue.prototype.$oc[method] = fn;
    })
    Object.keys(filters).forEach(key => {
        Vue.filter(key, filters[key])
    })
};


// ----- 将组件默认导出
export default {
    install
};
